package com.bj58.groupbuy.action.service;

import java.util.HashSet;
import java.util.List;
import java.util.Map;

import com.bj58.groupbuy.action.model.ClickCityVo;
import com.bj58.groupbuy.action.model.ClickEventsSourceVo;
import com.bj58.groupbuy.action.model.ConflictDelectVo;
import com.bj58.groupbuy.action.model.TrackURLToPVUVVo;
import com.bj58.groupbuy.action.model.UrlToPvUvVo;

public interface StatisticsPlanService {
	public List<String> generateRowKeyPrefixListForBi(List<String> dateList,
			String eventKey, String platForm) throws Exception;

	public Map<String, Map<String, Object>> QueryForListByPrefix(
			List<String> rowKeyList, String tableName,String statdate) throws Exception;

	public Map<String, Map<String, Object>> QueryForListByKey(
			List<String> rowKeyList, String tableName,String statdate) throws Exception;

	public Map<String, Map<String, Object>> QueryForListByKeyForTrack(
			List<String> rowKeyList, String tableName,String statdate) throws Exception;

	/*
	 * public Map<String,Map<String,Object>>
	 * QueryForListByPrefixForClickEvent(List<String> rowKeyList,String
	 * tableName) throws Exception;
	 */
	public List<ClickCityVo> QueryForListByPrefixForClickCity(
			List<String> rowKeyList, HashSet<String> request, int limit)
			throws Exception;
	
	public List<ConflictDelectVo> QueryForListByPrefixForConflictDelect(
			String rowKey,int limit)
			throws Exception;

	public List<ClickEventsSourceVo> QueryForListByPrefixForClickEvent(
			String tableName, List<String> rowKeyList, HashSet<String> rescols,
			int limit) throws Exception;

	public List<UrlToPvUvVo> DataInJson(Map<String, Map<String, Object>> dataMap)
			throws Exception;

	public List<TrackURLToPVUVVo> DataInJsonForTrack(
			Map<String, Map<String, Object>> dataMap) throws Exception;
	
	public List<ClickEventsSourceVo> QueryForListByPrefixForSourceAll(
			String tableName, List<String> rowKeyList, HashSet<String> rescols,
			int limit) throws Exception;
	/*
	 * public List<ClickEventsSourceVo> DataInJsonForClickEvents(Map<String,
	 * Map<String, Object>> dataMap) throws Exception;
	 */
}
